package com.agencia.logica;

import java.sql.SQLException;
import java.util.ArrayList;

import com.agencia.dominio.Terminal;
import com.agencia.dominio.Usuario;
import com.agencia.persistencia.PersistenciaImp;


public class AdminUsuarioImp implements IAdminUsuario {
	

	private AdminUsuarioImp() {}
	
	
	 private static AdminUsuarioImp instancia = new AdminUsuarioImp();  
	 
	  public static AdminUsuarioImp getInstance() {  
		  return instancia;  
		 }  
	

	public boolean IngresarUsuario(Usuario usuario) {
		// TODO Auto-generated method stub
		return PersistenciaImp.getInstance().ingresarUsuarioBD(usuario);
	}

	public boolean ModificarUsuario(Usuario usuario) throws SQLException {
		// TODO Auto-generated method stub
		return PersistenciaImp.getInstance().modificarUsuarioBD(usuario);
	}

	public boolean Login(String us, String pass, Integer origen) throws SQLException {
		// TODO Auto-generated method stub
		return PersistenciaImp.getInstance().existeUsuarioTerminalBD(us, pass, origen);
	}


	public Usuario ObtenerUsuario(String user) throws SQLException {
		return PersistenciaImp.getInstance().obtenerUsuario(user);
		
	}


	public ArrayList<Usuario> selectAllUsuarios() throws SQLException {
		// TODO Auto-generated method stub
		return PersistenciaImp.getInstance().selectAllUsuarios();
	}
	
	public Usuario obtenerUsuarioxId(Integer id)throws SQLException{
		return PersistenciaImp.getInstance().obtenerUsuarioxId(id);
	}
	
	public boolean asociarTerminalaUsuario(Integer IdUs, Integer IdT){
		return PersistenciaImp.getInstance().asociarTerminalaUsuario(IdUs, IdT);
	}


	public ArrayList<Terminal> selectNotTerminalUsuario(Integer Id_Usuario)
			throws SQLException {
		return PersistenciaImp.getInstance().selectNotTerminalUsuario(Id_Usuario);
	}

}
